package com.monkar.java.constans;

import java.sql.ResultSet;

import org.springframework.jdbc.core.RowMapper;

import com.monkar.java.bean.AdministradorDTO;
import com.monkar.java.bean.AlumnoDTO;
import com.monkar.java.bean.PersonalDTO;
import com.monkar.java.bean.RequisitoDTO;
import com.monkar.java.bean.RolModuloDTO;


public class RowMapperConstans {

	/*ALUMNO*/
	public static final class AlumnoMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		AlumnoDTO	alumno = new AlumnoDTO();
    		try {
    			/*odontograma.setIdodontograma(rs.getInt("idodontograma"));*/
    			
    			alumno.setIdalumno(rs.getInt("idalumno"));
    			alumno.setCodigo(rs.getString("codigo"));
    			
    			alumno.getEspecialidad().setIdespecialidad(rs.getInt("idespecialidad"));
    			alumno.getEspecialidad().setDescripcion(rs.getString("descripcionEspecialidad"));
    			
    			alumno.getCicloAcademico().setIdcicloAcademico(rs.getInt("idcicloAcademico"));
    			alumno.getCicloAcademico().setDescripcion(rs.getString("descripcion"));
    			
    			alumno.getUsuario().setIdusuario(rs.getInt("idusuario"));
    			alumno.getUsuario().setUsuario(rs.getString("usuario"));
    			alumno.getUsuario().setClave(rs.getString("clave"));
//    			alumno.getUsuario().setEstado(rs.getInt("estado"));
    			
    			alumno.getUsuario().getRol().setIdrol(rs.getInt("idrol"));
    			alumno.getUsuario().getRol().setDescripcionRol(rs.getString("descripcionRol"));
//    			alumno.getUsuario().getRol().setFlagRol(rs.getInt("flagRol"));
    			
    			alumno.setNombres(rs.getString("nombres"));
    			alumno.setApellidoMaterno(rs.getString("apellidoMaterno"));
    			alumno.setApellidoPaterno(rs.getString("apellidoPaterno"));
    			alumno.setNumeroDocumento(rs.getString("numeroDocumento"));
    			alumno.setTelefono(rs.getString("telefono"));
    			alumno.setCelular(rs.getString("celular"));
    			
    			
    			
				
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			return alumno;
    	}
    	
    }
	
	/*PERSONAL*/
	public static final class PersonalMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		PersonalDTO	personal = new PersonalDTO();
    		try {
    			/*odontograma.setIdodontograma(rs.getInt("idodontograma"));*/
    			
    			personal.setIdpersonal(rs.getInt("idpersonal"));
    			
    			personal.getUsuario().setIdusuario(rs.getInt("idusuario"));
    			personal.getUsuario().setUsuario(rs.getString("usuario"));
    			personal.getUsuario().setClave(rs.getString("clave"));
//    			alumno.getUsuario().setEstado(rs.getInt("estado"));
    			
    			personal.getUsuario().getRol().setIdrol(rs.getInt("idrol"));
    			personal.getUsuario().getRol().setDescripcionRol(rs.getString("descripcionRol"));
//    			alumno.getUsuario().getRol().setFlagRol(rs.getInt("flagRol"));
    			
    			personal.setNombres(rs.getString("nombres"));
    			personal.setApellidoMaterno(rs.getString("apellidoMaterno"));
    			personal.setApellidoPaterno(rs.getString("apellidoPaterno"));
    			
    			
    			
				
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			return personal;
    	}
    	
    }
	
	
	/*ADMINISTRADOR*/
	public static final class AdministradorMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		AdministradorDTO	administrador = new AdministradorDTO();
    		try {
    			/*odontograma.setIdodontograma(rs.getInt("idodontograma"));*/
    			
    			administrador.setIdadministrador(rs.getInt("idadministrador"));
    			
    			administrador.getUsuario().setIdusuario(rs.getInt("idusuario"));
    			administrador.getUsuario().setUsuario(rs.getString("usuario"));
    			administrador.getUsuario().setClave(rs.getString("clave"));
//    			alumno.getUsuario().setEstado(rs.getInt("estado"));
    			
    			administrador.getUsuario().getRol().setIdrol(rs.getInt("idrol"));
    			administrador.getUsuario().getRol().setDescripcionRol(rs.getString("descripcionRol"));
//    			alumno.getUsuario().getRol().setFlagRol(rs.getInt("flagRol"));
    			
    			administrador.setNombres(rs.getString("nombres"));
    			administrador.setApellidoMaterno(rs.getString("apellidoMaterno"));
    			administrador.setApellidoPaterno(rs.getString("apellidoPaterno"));
    			
    			
    			
				
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			return administrador;
    	}
    	
    }
	
	
//	MODULOS
	/*ALUMNO*/
	public static final class RolModuloMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		RolModuloDTO	rm = new RolModuloDTO();
    		try {
    			
    			rm.getRol().setIdrol(rs.getInt("idrol"));
    			rm.getModulo().setIdmodulo(rs.getInt("idmodulo"));
    			rm.getModulo().setNombre(rs.getString("nombre"));
    			rm.getModulo().setTitle(rs.getString("title"));
    			rm.getModulo().setNivel(rs.getInt("nivel"));
    			rm.getModulo().setOrden(rs.getInt("orden"));
    			rm.getModulo().setHref(rs.getString("href"));
    			rm.getModulo().setIdDepende(rs.getInt("idDepende"));
    			
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			return rm;
    	}
    	
    }
	
//	ahora creamos nuestro metodo mapper para requisitos
//	REQUISITO
	
	public static final class RequisitoMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		RequisitoDTO	r = new RequisitoDTO();
    		try {
    			
    			r.setIdrequisito(rs.getInt("idrequisito"));
    			r.setTituloRequisito(rs.getString("tituloRequisito"));
    			r.setDescripcionRequisito(rs.getString("descripcionRequisito"));
    			
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
			return r;
    	}
    }
	
	
	
}
